home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / lib / seyon / seyon.help
Text File  |  1995-07-02  |  69KB  |  1,773 lines

  1. NAME
  2.        Seyon - X11 Telecommunications Package.
  3.  
  4. SYNOPSIS
  5.        seyon  [-option    ...]  [-toolkit_option    ...]  [-- -emula-
  6.        tor_option ...]
  7.  
  8. DESCRIPTION
  9.        Seyon is a complete full-featured telecommunications pack-
  10.        age for the X Window System. Some of its features are:
  11.  
  12.           * Dialing directory that supports an unlimited num-
  13.           ber of entries. The directory is fully mouse-driven
  14.           and  features  call progress monitoring, dial time-
  15.           out, automatic redial,  multi-number  dialing,  and
  16.           circular    redial    queue.    Each  item in the dialing
  17.           directory can be configured with its own baud rate,
  18.           bit  mask,  and script file.  The dialing directory
  19.           uses a plain-text phone book  that  can  be  edited
  20.           from withen Seyon. Seyon also supports manual dial-
  21.           ing.
  22.  
  23.           * Terminal emulation window  supporting  DEC  VT02,
  24.           Tektronix    4014, and ANSI. Seyon delegates its ter-
  25.           minal emulation to xterm, so all the familiar xterm
  26.           functions    such as the scroll-back buffer, cut-and-
  27.           paste utility, and visual bell are availabe through
  28.           Seyon's terminal emulation window. Using xterm also
  29.           means that Seyon has a more complete  emulation  of
  30.           VT102 than other any Unix or DOS telecommunications
  31.           program. Other terminal emulation programs can also
  32.           be  used    with  Seyon  to suit the user's need; for
  33.           example, color xterm can be used to provide  emula-
  34.           tion  for color ANSI (popular on many BBS systems),
  35.           and xvt can be used if memory is a bit tight.
  36.  
  37.           * Script language to automate tedious tasks such as
  38.           logging  into  remote  hosts. Seyon's script inter-
  39.           preter uses plain-text files and has a syntax simi-
  40.           lar  to  that  of sh, with a few extra addtions. It
  41.           supports many familiar statements    such  as  condi-
  42.           tional  branching    by  if-else and looping by goto.
  43.           Scripts may be assigned to  items    in  the  dialing
  44.           directory    for  automatic execution after a connec-
  45.           tion is made.
  46.  
  47.           * Unlimited  number  of  slots  for  external  file
  48.           transfer protocols.  Protocols are activated from a
  49.           mouse-driven transfer console that  uses    a  plain-
  50.           text file, editable from withen Seyon, for protocol
  51.           configuration. Seyon prompts the user for filenames
  52.  
  53.                                 1
  54.  
  55.           only  if    the chosen protocol requires filenames or
  56.           if the transfer operation is an upload,  for  which
  57.           Seyon  also  accepts  wildcards.    Multiple download
  58.           directories can  be  specified  for  the    different
  59.           transfer slots.
  60.  
  61.           *    Support  for Zmodem auto-download. Seyon detects
  62.           incoming Zmodem signature and  automatically  acti-
  63.           vates  a    user-specified zmodem protocol to receive
  64.           incoming files. Zmodem transfers can thus    be  com-
  65.           pletely automatic and require no user intervention.
  66.  
  67.           *    Translation  modes.  Seyon  can  perfrom  useful
  68.           trasnlations  on    the  user's  input. From example,
  69.           Seyon can translate backspace to delete (useful  on
  70.           may Unix systems), newline to carriage return (use-
  71.           ful on many BBS hosts), and my favorite,    meta  key
  72.           tranlation:  to  send  keys  pressed while the meta
  73.           (ALT) key is held down as an escape (ESC)    followed
  74.           by  the  key  press.  The latter mode simulates the
  75.           meta key on hosts that do not  support  8-bit-clean
  76.           connections  and makes possible the use of the meta
  77.           key in programs like Emacs on such hosts.
  78.  
  79.           * Other features: interactive  setting  of  program
  80.           parameters,  on-line help, software (XONN/XOFF) and
  81.           hardware (RTS/CTS) flow control, session capture to
  82.           a    file,    and temporary running of a local shell in
  83.           the terminal emulation window.
  84.  
  85.        Seyon is intended to be both simple and    extensively  con-
  86.        figurable.  Almost every aspect of Seyon can be configured
  87.        via the resources to suit the user's taste.
  88.  
  89. OPTIONS
  90.        Besides the toolkit options, Seyon recognizes the  follow-
  91.        ing command-line switches:
  92.  
  93.        -modems <device-list>
  94.           Overrides    the    resource  modems.  Refer  to  the
  95.           description of that  resource  below.   Unlike  the
  96.           resource,    however,  the list here has to be quoted
  97.           if it consists of more than one entry.
  98.  
  99.        -emulator <terminal-emulation-program>
  100.           Instructs Seyon to use the specified program as the
  101.           terminal    emulator.  If Seyon fails to execute that
  102.           program, it will fall back to xterm. If this option
  103.           is  not  given,  Seyon  will  try to use seyon-emu,
  104.           which should be a link to    your  favorite    terminal
  105.           emulation program. Seyon will fall back to xterm in
  106.  
  107.                                 2
  108.  
  109.           this case as well if it fails to execute seyon-emu.
  110.  
  111.        --     This switch instructs Seyon to pass the rest of the
  112.           command-line to the terminal emulation program. All
  113.           options    following  this    switch    will  be  passed
  114.           blindly to the emulator. This switch cannot be com-
  115.           bined with -noemulator.
  116.  
  117.        -nodefargs
  118.           Seyon  usually  invokes the terminal emulation pro-
  119.           gram with some options to set the application  name
  120.           and  window  and icon titles (those are -name Seyon
  121.           -T "Seyon Terminal Emulator" -n Terminal). If  this
  122.           switch  is given, Seyon will not pass those options
  123.           to the emulator.    This is to  accommodate    terminal
  124.           emulation    programs  that    use a different command-
  125.           line syntax than xterm -- like xvt, cmdtool, shell-
  126.           tool,  ..etc.  You  can use the '--' switch to pass
  127.           your own options to the emulator.
  128.  
  129.        -noemulator
  130.           This option is valid only if Seyon is invoked  from
  131.           withen  a    terminal  emulation program in the fore-
  132.           ground of an interactive shell session.  If  given,
  133.           Seyon  will not launch a new terminal emulator, but
  134.           will use the existing one instead. You  cannot  use
  135.           the '--' switch if this option is given.
  136.  
  137.        -script <script-file>
  138.           Causes  Seyon  to automatically executes the speci-
  139.           fied script after the startup script  is    run.  The
  140.           specified    script file will be looked for according
  141.           to the rule mentioned under the description of  the
  142.           resource scriptDirectory below.
  143.  
  144.        -entries <entries-list>
  145.           Overrides    the  resource defaultPhoneEntries. Refer
  146.           to the description of that resource  below.  Unlike
  147.           the  resource,  however,    the  list  here has to be
  148.           quoted if it consists of more than one entry.
  149.  
  150.        -dial, -nodial
  151.           Overrides the resource dialAutoStart and sets it to
  152.           'on' and If both -dial and -nodial are specified on
  153.           the command-line, the override value  will  be  set
  154.           according    to  the  last of the two on the command-
  155.           line.
  156.  
  157. RESOURCES
  158.        Besides the toolkit resources, Seyon defines the following
  159.        proprietry resources:
  160.  
  161.                                 3
  162.  
  163.        autoZmodem (boolean)
  164.           Specifies whether Seyon is to look for Zmodem auto-
  165.           download signature.  If enabled, Seyon will  detect
  166.           Zmodem  signature    and  execute the action given by
  167.           the resource autoZmodemAction (typically to start a
  168.           local  rz).  Otherwise,  Zmodem  signature  will be
  169.           ignored.    Default value: on
  170.  
  171.        autoZmodemAction (string)
  172.           Specifies a simple or compound action that will  be
  173.           executed    when  Zmodem  auto-download  signature is
  174.           detected. This action will be executed only if  the
  175.           resource    autoZmodem  is enabled (see above). Refer
  176.           to the section entitled SeQuickKeys for a    descrip-
  177.           tion  of    available actions.  Default value: Shell-
  178.           Command($rz);
  179.  
  180.        backspaceTranslation (boolean)
  181.           Whether to translate user's  backspace  to  delete.
  182.           When  the remote host is a Unix system, it's better
  183.           to set this to on, since many Unix systems are  not
  184.           happy with backspace.  Default value: off
  185.  
  186.        captureFile (string)
  187.           The  name of capture file. Seyon will write session
  188.           captures to this file when capture is enabled. This
  189.           file  will  be placed in Seyon's default directory.
  190.           The capture file will not be overwritten by succes-
  191.           sive  capture sessions. Seyon will merely apped new
  192.           capture to its end.  Default value: capture
  193.  
  194.        connectString (string)
  195.           The modem connect string. This the string    response
  196.           the  modem  gives    when  a connection is made after
  197.           dialing.    Default value: CONNECT
  198.  
  199.        defaultBits (int)
  200.           The default number of bits (character size).  Seyon
  201.           will  set    the  number  of  bits    to  this value on
  202.           startup and will use it for items    in  the  dialing
  203.           directory    for  which  no    such parameter is given.
  204.           Valid values are 5, 6, 7, and 8.    Default value: 8
  205.  
  206.        defaultBPS (string)
  207.           The default baud rate. Seyon will set the baud rate
  208.           to  this value on startup and will use it for items
  209.           in the dialing directory for which no baud rate  is
  210.           given.  Default value: 9600
  211.  
  212.        defaultDirectory (string)
  213.           Seyon's  default    directory.  When  looking for its
  214.           files, Seyon will first try this default directory,
  215.           then the current directory. Seyon will also put the
  216.           capture file in  this  directory.    Default  value:
  217.  
  218.                                 4
  219.  
  220.           ~/.seyon
  221.  
  222.        defaultParity (int)
  223.           The  default  parity.  Seyon will set the parity to
  224.           this value on startup and will use it for items  in
  225.           the  dialing  directory for which no such parameter
  226.           is given. Valid values are 0 (no    parity),  1  (odd
  227.           parity), and 2 (even parity).  Default value: 0
  228.  
  229.        defaultPhoneEntries (int array)
  230.           This  resource  specifies    a list of numbers corre-
  231.           sponding to the order the entries    in  the  dialing
  232.           directory    appear at. Seyon will highlight (select)
  233.           those entries on startup    and  whenever  you  click
  234.           ``Default''  from    the  dialing  directory. This is
  235.           useful if there is a set of entries that    you  most
  236.           frequesntly  dial    that want to be highlghted auto-
  237.           matically instead of doing that every time by hand.
  238.           You can override this resource by the -entries com-
  239.           mand-line switch.    Unlike the command-line  switch,
  240.           however, the list here should not be quoted. Phone-
  241.           book entries numbering starts at one.   No  default
  242.           value.
  243.  
  244.        defaultStopBits (int)
  245.           The default number of stop bits. Seyon will set the
  246.           number of stop bits to this value    on  startup  and
  247.           will  use it for items in the dialing directory for
  248.           which no such parameter is given. Valid values  are
  249.           1 and 2.    Default value: 1
  250.  
  251.        dialAutoStart (boolean)
  252.           This  resource  specifies    that  Seyon should start
  253.           dialing  the  entries  specified    by  the    resource
  254.           defaultPhoneEntries  (or    its override command-line
  255.           switch) on startup.  Seyon  will    commence  dialing
  256.           those  entries  after  executing the startup script
  257.           and any script specified at  the    command    line.    A
  258.           more convenient way of automatic dialing on startup
  259.           is to use the override command-line  switch  -dial,
  260.           which  overrides    this resource and enables. If the
  261.           resource is enabled, it can be disabled at the com-
  262.           mand  line by the override switch -nodial. Refer to
  263.           the description of these switches    above.    Default
  264.           value: off
  265.  
  266.        dialCancelString (string)
  267.           The string Seyon sends to the modem to cancel dial-
  268.           ing while in progress.  Default value: ^M
  269.  
  270.        dialDelay (int)
  271.           How long in seconds Seyon should wait after no con-
  272.           nection  is made withen dialTimeOut before ciculat-
  273.           ing to the next number.  Default value: 10
  274.  
  275.                                 5
  276.  
  277.        dialDirFormat (string)
  278.           This is a format string that specifies  the  layout
  279.           of  the  dialing    direcotry.  The default is '%-15s
  280.           %-15s  %6s  %1c%1c%1c  %1c%1c  %s'   (no    quotes).
  281.           Briefly:    the  fields represent the host name, num-
  282.           ber,  the    baud  rate,  bits,  parity,  stop  bits,
  283.           whether  there  is a custom prefix, suffix, and the
  284.           script name. You    can  understand    more  what  each
  285.           field  refers  to    by comparing with dialing direc-
  286.           tory, fields that use the current setting (via  the
  287.           keyword CURRENT) are designated by a question mark.
  288.           Notice that you cannot change the order  the  items
  289.           in  the  dialing directory appear at, only the for-
  290.           mat. For example, if the numbers you call    are  all
  291.           7-digits,    your host names are short, you never use
  292.           baud rates above 9600, and you like dashes  between
  293.           the  baud rate, bits, parity, and stop bits fields,
  294.           then you may prefer to use the format string '%-10s
  295.           %-8s  %5s-%1c-%1c-%1c  %1c%1c  %s',  which would be
  296.           narrower than the default format.    Default  value:
  297.           %-15s %-15s %6s %1c%1c%1c %1c%1c %s
  298.  
  299.        dialPrefix (string)
  300.           The  string  Seyon  sends    to  the modem before the
  301.           phone  number.  To  use  pulse  dialing,    set  this
  302.           resource to .IR ATDP .  Default value: ATDT
  303.  
  304.        dialRepeat (int)
  305.           How  many    times Seyon should try dialing a number.
  306.           Seyon will give up on dialing a number if    no  con-
  307.           nection  is  made    after    this many tries.  Default
  308.           value: 5
  309.  
  310.        dialSuffix (string)
  311.           The string Seyon sends to the modem after the phone
  312.           number.  This  string  has  to  contain  a carraige
  313.           return or the number will never  get  sent  to  the
  314.           mode.  Default value: ^M
  315.  
  316.        dialTimeOut (int)
  317.           How long in seconds Seyon should wait for a connec-
  318.           tion to made after dialing is complete. Seyon  will
  319.           cancel  the dialing if no connection is made withen
  320.           this period.  Default value: 45
  321.  
  322.        exitConfirm (boolean)
  323.           Whether Seyon should prompt for hanguping up before
  324.           exiting.    If  off-line  and  the    resource  ignore-
  325.           ModemDCD is set to 'off', Seyon will not prompt for
  326.           hanging  up  upon    exiting even if this resource is
  327.           set to Default value: on
  328.  
  329.        funMessages (string array)
  330.           The fun messages to be displayed when Seyon has  no
  331.  
  332.                                 6
  333.  
  334.           other important information to show. This should be
  335.           a list of double-quoted [funny] sentences.  Default
  336.           value: varies, version-dependent
  337.  
  338.        funMessagesInterval (int)
  339.           The temporal interval in seconds between successive
  340.           fun messages.  Default value: 15
  341.  
  342.        idleGuard (boolean)
  343.           If set to on, Seyon  will    send  a  string  to  the
  344.           remote  host  whenever the terminal session is idle
  345.           (no keyboard input) for a given amount of time. The
  346.           resources    idleGuardInterval  and  idleGuardString
  347.           specify the above time interval and the  string  to
  348.           be  sent to the remote host when idle. It is useful
  349.           to enable this features to keep the  session  alive
  350.           when  one    is  away  from    the computer for a while
  351.           (e.g.  to prevent auto-logout).  Default value: off
  352.  
  353.        idleGuardInterval (int)
  354.           The  amount of time in seconds Seyon is to consider
  355.           the session idle when there is no keyboard activity
  356.           at  the  terminal for that long.    Seyon will send a
  357.           string to the remote host every  such  interval  as
  358.           long as the session is idle.  Default value: 300
  359.  
  360.        idleGuardString (string)
  361.           The  string  to be sent to the remote host when the
  362.           session is idle.    This string will  be  sent  at    a
  363.           regular  interval    as  long  as the sesiion remains
  364.           idle. Note that the current  translations    will  be
  365.           used  in    sending    this  string;    for  example,  if
  366.           backspaceTranslation is enabled, then  the  default
  367.           string  <Space><BS>  will    be sent as <Space><DEL>.
  368.           Default value: \s^H (space then backspace)
  369.  
  370.        ignoreModemDCD (boolean)
  371.           If this resource is set  to  'on',  the  modem  DCD
  372.           (Data  Carrier Detect) status will be ignored. Some
  373.           of the consequences of setting this to 'on' is that
  374.           Seyon   will  always  prompt  for    hangup    (if  the
  375.           resource exitConfirm is set to 'on')  even  if  the
  376.           modem DCD status indicates that it is off-line, and
  377.           dialing will be attempted even  if  the  modem  DCD
  378.           status  indicates    that it is on-line. It is highly
  379.           recommended that you keep this set to 'off'  unless
  380.           your  modem  does    not  honor the DCD line. Consult
  381.           your modem's  manual  for    more  details.    Default
  382.           value: off
  383.  
  384.        hangupBeforeDial (boolean)
  385.           When set to on, Seyon will hangup the line (if con-
  386.           nected) before dialing the phone number. Otherwise,
  387.           the  number  will be dialed without hanging up, and
  388.  
  389.                                 7
  390.  
  391.           it is the user's responsibility to ensure that  the
  392.           line   is    clear    (no  connection)  when    dialing.
  393.           Default value: on
  394.  
  395.        hangupConfirm (boolean)
  396.           Whether Seyon should ask    for  confirmation  before
  397.           hanging up the phone Default value: on
  398.  
  399.        hangupViaDTR (boolean)
  400.           When  enabled,  Seyon  will  hangup up the modem by
  401.           dropping DTR. This is much quicker than hanging  up
  402.           by  sending a Hayes-like hangup string to the modem
  403.           and waiting to allow for escape  guard  time.  How-
  404.           ever, some modems and serial drivers choke on drop-
  405.           ping DTR and others just don't hangup when  DTR  is
  406.           dropped,    so  in these cases it should be disabled.
  407.           If disabled, Seyon will hangup the modem by sending
  408.           the  string  specified  by the resource modemAtten-
  409.           tionString,  followed  by    that  specified  by  the
  410.           resource modemHangupString.  Default value: off
  411.  
  412.        metaKeyTranslation (boolean)
  413.           Whether  to  transmit  keys  pressed while the meta
  414.           (ALT) key is held down as an escape (ESC)    followed
  415.           by  the  key press. Most hosts do not support 8-bit
  416.           sessions, and hence do not recognize the meta  key.
  417.           Therefore,  this translation mode has to be enabled
  418.           when connected to such hosts to take  advantage  of
  419.           the  meta    key in programs that make use of it like
  420.           Emacs.  Default value: on
  421.  
  422.        modemAttentionString (string)
  423.           The string to send to the modem to get  its  atten-
  424.           tion  (switch to command mode). This string will be
  425.           sent to the modem before    the  hangup  string  when
  426.           hangupViaDTR is disabled.    Default value: +++
  427.  
  428.        modemHangupString (string)
  429.           The  hangup  string  to  send  to    the  modem  when
  430.           hangupViaDTR is disabled.    Default value: ATH^M
  431.  
  432.        modems (string)
  433.           A list of modem  devies  to  use.    Seyon    will  try
  434.           modems  in  this    list one after the other until it
  435.           finds an available modem or the list is  exhausted.
  436.           No default value.
  437.  
  438.        modemStatusInterval (int)
  439.           This  resource controls the amount of time (in sec-
  440.           onds) between updates to the modem  status  toggles
  441.           (including the clock). The default is five seconds,
  442.           but you can set it to one second (or any other num-
  443.           ber)  if    you  want  the toggles to be updated more
  444.           frequently. Even if you set this to a large number,
  445.  
  446.                                 8
  447.  
  448.           Seyon  is    intellegent enough to update the toggles
  449.           after each connect or hangup.  Default value: 5
  450.  
  451.        modemVMin (int)
  452.           This resource specifies the minimum number of char-
  453.           acters that should be in the buffer before the read
  454.           process is satified. The    read  process  will  wait
  455.           until  that number of incoming characters is in the
  456.           buffer  or  0.1  second  has  elapsed  between  the
  457.           receiption  of two characters before displaying the
  458.           data in the buffer. This results in the data  being
  459.           displayed in chunks and speeds up the terminal dis-
  460.           play. The speedup would be most noticeable on  slow
  461.           machnes with fast modems.
  462.  
  463.           Leave this resource at its default (1) or set it at
  464.           a low value (6) if you  have  a  slow  modem  (e.g.
  465.           2400bps). Otherwise you might set it to the maximum
  466.           value, which is  platform-dependent  but    generally
  467.           255.  If    you set it to any number greater than the
  468.           maximum value, it will be truncated to the  maximum
  469.           value.  Default value: 1
  470.  
  471.        newlineTranslation (string)
  472.           When  the    Enter    key is pressed, newline character
  473.           (\n) is generated.  This resource    determines  what
  474.           to  translate  this  character  to. Three modes are
  475.           possible: no translation (newline), carriage return
  476.           (\r), and carriage return / line feed. Unix systems
  477.           usually expect newline or carrage return, DOS  sys-
  478.           tems  expect  carraige  return or carriage return /
  479.           line feed. The three keywords corresponding to  the
  480.           above  modes are nl, cr, and cr/lf.  Default value:
  481.           cr
  482.  
  483.        noConnectStringX [X = 1-4] (string)
  484.           The response strings given by the modem  when  con-
  485.           nection  fails.    Default    values:  NO  CARRIER, NO
  486.           DIALTONE, BUSY, VOICE (respectively)
  487.  
  488.        phonelistFile (string)
  489.           The name of  the    phone  list  (dialing  directory)
  490.           file.  See  the  included example to learn how this
  491.           file should be formatted.    Default value: phonelist
  492.  
  493.        postConnectAction (string)
  494.           Specifies    a simple or compound action that will be
  495.           executed after a connection to  a    remote    host  is
  496.           made.  This  action will be executed before running
  497.           any script attached to that  host    in  the  dialing
  498.           directory. All actions here have to be synchronous.
  499.           Refer to the section entitled SeQuickKeys below for
  500.           a description of available actions.  Default value:
  501.           Beep();
  502.  
  503.                                 9
  504.  
  505.        protocolsFile (string)
  506.           The name of the protocols    file.    This  file  tells
  507.           Seyon  what  file transfer protocols are available.
  508.           The user will be promted with a list based on  this
  509.           file   when  file    transfer  is  to  be  initiated.
  510.           Default value: protocols
  511.  
  512.        quickKeyX
  513.           Refer to the section entitled SeQuickKeys below.
  514.  
  515.        rtsctsFlowControl (boolean)
  516.           Whether Seyon should turn on RTS/CTS hardware  flow
  517.           control.    Make sure the modem is set to use this as
  518.           well.  Default value: off
  519.  
  520.        scriptDirectory (string)
  521.           Seyon's script directory. When looking for scripts,
  522.           Seyon  will  first  try this script directory, then
  523.           the current directory.  Default  value:  defaultDi-
  524.           rectory
  525.  
  526.        showFunMessages (boolean)
  527.           Whether to display funny messages when Seyon has no
  528.           other important information  to  show.  Seyon  will
  529.           display  those messages at an interval specified by
  530.           the funMessagesInterval resource when there  is  no
  531.           other  important information to convey to the user.
  532.           To  disable  the    display    of  fun  messages,  this
  533.           resource has be set to off.  Default value: on
  534.  
  535.        startupAction (string)
  536.           Specifies    a simple or compound action that will be
  537.           executed on startup. This action is executed  prior
  538.           to  running  any script (in case the -script switch
  539.           is given) or  dialing  any  entry    of  the  dialing
  540.           directory (in case the -dial switch is given or the
  541.           resource dialAutoStart is enabled).  You    can  make
  542.           Seyon  open  the dialing directory automatically on
  543.           startup  by  using  the  simple  action  ``OpenWid-
  544.           now(Dial);''  as    a  constituent    of  this  complex
  545.           action stack.  Note that running the startup script
  546.           is  just    a special case of this resource. Refer to
  547.           the section entitled SeQuickKeys for a  description
  548.           of   available   actions.    Default   value:  Run-
  549.           Script(startup);
  550.  
  551.        startupFile (string)
  552.           Seyon's startup file. Seyon will execute    all  com-
  553.           mands in this file upon startup. This file can have
  554.           any commands acceptable  as  script  commands.  The
  555.           most useful command to put here is the set command,
  556.           to  set  the  various  communications   parameters.
  557.           Default value: startup
  558.  
  559.                                    10
  560.  
  561.        stripHighBit (boolean)
  562.           Whether  to strip the high (eights) bit from incom-
  563.           ing characters. If set to on, the high bit  of  all
  564.           incoming    characters  will  be stripped, which will
  565.           make an  8-N-1  setting  behave  like  7-N-1,  even
  566.           though  eight  bits  are    used  for each character.
  567.           Default value: off
  568.  
  569.        xonxoffFlowControl (boolean)
  570.           Whether Seyon should turn on XON/XOFF software flow
  571.           control.    Default value: off
  572.  
  573. SEQUCKKEYS
  574.        Seyon  allows  the  user    to  have  custom buttons, called
  575.        SeQuickKeys  (z    quickies),  to    which  actions    can   be
  576.        attached.  SeQuickKeys  provide a convenient way via which
  577.        the user can invoke frequently-used operations by a  singe
  578.        mouse   click.    SeQuickKeys  are  specified  through  the
  579.        resources quickKeyX, where X is an  integer  corresponding
  580.        to  the order at which that SeQuickKey is to appear on the
  581.        command center.    Relevant subparts of  that  resource  are
  582.        visible, action, and label. Here is an example:
  583.  
  584.           Seyon*quickKey3.visible: on
  585.           Seyon*quickKey3.action: FileTransfer(1,file); Beep();
  586.           Seyon*quickKey3.label: Upload
  587.  
  588.        The  first line specifies that SeQuickKey3 should be visi-
  589.        ble. The second line specifies the  action  bound  to  the
  590.        SeQuickKey  (in    this  case,  a    compound action), and the
  591.        third line specifies the label for that SeQuickKey's  but-
  592.        ton.  Other  subparts  can  also be specified in a similar
  593.        fashion (e.g.  background, foreground, ..etc.)
  594.  
  595.        Actions can be  either  simple  or  compound.  A    compound
  596.        action  consists    of  a stack of simple actions and can be
  597.        used as simple mini-script.  Examples:
  598.  
  599.        +o Set(idleGuard,on); DialEntries(Default);
  600.        +o Echo("Uploading files..."); Transmit(rz); \
  601.          FieTransfer(1,"*.ico $HOME/acct.wks"); Echo(Done);
  602.        +o OpenWindow(Dial); DialEntries("2 5 6");
  603.        +o Echo("Goodbye.."); Hangup(); Quit();
  604.        +o Set(baud,9600); ManualDial("555-5555");
  605.        +o Echo("Will upload..."); ShellCommand("$sz *.wks");
  606.        +o Set(parity,0); RunScript(login.scr); Echo(Finished);
  607.  
  608.        The following is a list of actions  Seyon  currently  sup-
  609.        ports. Asterisks designate asynchronoous actions. Brackets
  610.        designate optional arguments.
  611.  
  612.                                    11
  613.  
  614.        Beep();
  615.           Rings the bell making a short beep.
  616.  
  617.        CloseWindow(window [,...]);
  618.           Closes (dismisses) the given windows. Currenly  the
  619.           only  valid  argument to this action is Dial, which
  620.           corresponds to the dialing idrectory window.  Exam-
  621.           ple: CloseWindow(Dial);
  622.  
  623.        DialEntries(entries-list);*
  624.           Dials  entries in the dialing directory correspond-
  625.           ing by order to the given    list.    Entries    will  be
  626.           dialed  as  if  the  user    had selected them on the
  627.           dialing directory. Entries will be  dialed  without
  628.           opening  the  dialing  directory.    You  can use the
  629.           action  ``OpenWindow(Dial);''  and  stack    the  two
  630.           actions  in a compound action if you want the dial-
  631.           ing directory to be opened.
  632.  
  633.           The list must be quoted if it consists of more than
  634.           one entry, and entries should be separated by white
  635.           space, not commas.  If the list  consists    of  just
  636.           the word ``Default'', then the entries given by the
  637.           resource defaultPhoneEntries will be dialed,  refer
  638.           to  the  description  of    that  resource    for  more
  639.           details.
  640.  
  641.           The most common use of this action is  attach  fre-
  642.           quesntly-dialed  hosts to SeQuickKeys, making dial-
  643.           ing those hosts  a  one-click  operation.    If  this
  644.           action  is not the last in a compound action stack,
  645.           actions specified by the resource postConnectAction
  646.           may  not    work properly.    Examples: DialEntries(2);
  647.           DialEntries("2 4 5"); DialEntries(Default);
  648.  
  649.        DivertFile([file]);*
  650.           Sends the given file to the remote host as  a  text
  651.           upload.  If  the    optional argument ``file'' is not
  652.           specified, Seyon will pop up a  dialog  box  asking
  653.           for  the    file name. In the latter case this action
  654.           is similar to clicking Divert from the Misc window.
  655.           Examples:    DivertFile("/tmp/acct.wks");    Divert-
  656.           File();
  657.  
  658.        Echo([string]);
  659.           Echos the given string to the  terminal.    Does  not
  660.           send  it    to  the modem (use Transmit for that). If
  661.           the string consists of more than one word, it  must
  662.           be  quoted.  Note    that unlike the shell command of
  663.           the same name, this command does    not  accepts  the
  664.  
  665.                                    12
  666.  
  667.           switch -n but always appends newline to the string.
  668.           If the argument is omitted, an empty line    will  be
  669.           echoed. Examples: Echo(Hello); Echo("Hello there");
  670.           Echo();
  671.  
  672.        FileTransfer(entry, [file-list]);*
  673.           Executes the  transfer  protocol    corresponding  by
  674.           order  in    the  trasfer console (protocols file) to
  675.           ``entry''. If that protocol requires  a  file  name
  676.           and  file-list is omitted, Seyon will pop up a dia-
  677.           log box asking for the  file.  Otherwise    file-list
  678.           will  be    passed to that protocol. The list must be
  679.           quotes if it consists of more  than  one    word  and
  680.           items  in it should be separated by white space. It
  681.           can contain wild cards and shell    variables.  Exam-
  682.           ples:   FileTransfer(1);    FileTransfer(2,acct.wks);
  683.           FileTransfer(2,"*.wks $HOME/acct.wks");
  684.  
  685.        Hangup();
  686.           Disconnects the line. Does not pop up  a    confirma-
  687.           tion box.
  688.  
  689.        IconifyWindow(window [,...]);
  690.           Iconifies    the  given  windows.  Valid arguments to
  691.           this action are Main, Dial, and Term, corresponding
  692.           respectively  to the command center, dialing direc-
  693.           tory, and terminal emulator windows. When the argu-
  694.           ment  is    Term,  this  action will work only if the
  695.           terminal emulator    sets  the  envirenment    variable
  696.           WINDOWID,    like  xterm  does. Examples: IconifyWin-
  697.           dow(Main,Dial,Term); IconifyWindow(Dial);
  698.  
  699.        ManualDial([number]);*
  700.           Dials a number as if the    Manual    button    had  been
  701.           clicked  from  the dialing directory. If ``number''
  702.           is specified, it will be    dialed    directly  and  no
  703.           dialog box will be popped up asking for the number.
  704.           Examples: ManualDial(555-5555); ManualDial();
  705.  
  706.        Message([string]);
  707.           Echos the    given    string    to  the    message  box  of
  708.           Seyon's command center (main window). If the string
  709.           consists of more than one word, it must be  quoted.
  710.           If  the  argument is omitted, an empty line will be
  711.           echoed.  Examples:  Message(Hello);  Message("Hello
  712.           there"); Message();
  713.  
  714.                                    13
  715.  
  716.        OpenWindow(window [,...]);
  717.           Opens  each  of  the given windows by popping it if
  718.           closed or de-iconifying it if in an  iconic  state.
  719.           Valid  arguments to this action are Main, Dial, and
  720.           Term, corresponding  respectively    to  the  command
  721.           center,  dialing    directory,  and terminal emulator
  722.           windows. When the argument  is  Term,  this  action
  723.           will  work  only    if the terminal emulator sets the
  724.           envirenment variable  WINDOWID,  like  xterm  does.
  725.           Examples:    OpenWindow(Main,Dial,Term);    OpenWin-
  726.           dow(Dial);
  727.  
  728.        Quit();
  729.           Exits Seyon completely and returns  to  the  shell.
  730.           Does not pop up a confirmation box.
  731.  
  732.        RunScript([script-name]);*
  733.           Executes    the script given by the file script-name.
  734.           The script will be executed  as  if  the    user  had
  735.           selected    it  via the Script button. If script-name
  736.           is omitted, a dialog box will be popped  up  asking
  737.           for  the    script    name.  This  is    a very versatile
  738.           action, as many remote and local commands or series
  739.           of commands can be performed by attaching appropri-
  740.           ate  scripts   to    SeQuickKeys.    Examples:   Run-
  741.           Script(login.scr); RunScript();
  742.  
  743.        Set(parameter, value);
  744.           Sets  the    specified  parameter to the given value.
  745.           Can be  used  to    set  the  various  communications
  746.           parameters.  Available  parameters are listed under
  747.           the    script    command    ``set''.    Examples:
  748.           Set(baud,9600);  Set(parity,0); Set(idleGuard,off).
  749.  
  750.        ShellCommand(shell-command);*
  751.           Executes the given shell    command    via  the  user's
  752.           shell pointed to by the SHELL environment variable,
  753.           or /bin/sh if that environment variable is not set.
  754.           Note that the command must be quoted if it consists
  755.           of more than one word. If the first non-space  let-
  756.           ter  of  the  command  is the character ``$'', then
  757.           standard input and standard output  will    be  redi-
  758.           rected  to to the modem. This action can be used to
  759.           execute any external  program  from  withen  Seyon.
  760.           Example: ShellCommand(ls); ShellCommand("$cd $HOME;
  761.           sz -vv *.wks");
  762.  
  763.        Transmit(string);
  764.           Transmits the given string to the remote host.  The
  765.  
  766.                                    14
  767.  
  768.           string  must  be quoted if it consists of more than
  769.           one word. The string is transmitted as is (no  case
  770.           conversions are performed). No newline character or
  771.           carriage return is appended to the string, use  the
  772.           prefix  characters  for that (e.g. ^M, ^J). See the
  773.           discripttion of the script command ``transmit'' for
  774.           more details. Example: Transmit(ls^M); Transmit("ls
  775.           -CF^M");
  776.  
  777. SCRIPT LANGUAGE
  778.        Script files can automate some tedious tasks such as  log-
  779.        ging  into  a system.  A script file is an ascii text file
  780.        and may be entered or edited using any standard text  edi-
  781.        tor.
  782.  
  783.        The  script  file is read line by line.    Empty lines (con-
  784.        sisting of white space only) are    ignored.   Comments  are
  785.        lines whose first non-space character is a pound sign (#).
  786.  
  787.        The script processor  reads  each  script  line,    ignoring
  788.        leading    white  space,  into  words.  A word is defined as
  789.        either:
  790.  
  791.           +o a  sequence  of    characters  delimited    by  white
  792.           space, or
  793.           +o    a  sequence  of characters enclosed in single or
  794.           double quotes.
  795.  
  796.        The first word of a script file is considered the  command
  797.        word.   If  the    last  character    of the command word is a
  798.        colon (:), the line is  considered  to  be  a  label  (the
  799.        object  of a goto statement).  Otherwise, it is assumed to
  800.        be a script command and is interpreted  as  such.  Command
  801.        words are case insensative.
  802.  
  803.        Some commands take one or more arguments. Each argument is
  804.        parsed as a single word as defined above.  If  blanks  are
  805.        required in an argument, the argument must be quoted using
  806.        single or double quotes.
  807.  
  808.                                    15
  809.  
  810.    Script Command List
  811.        Below is the description of all commands that may be  used
  812.        in the Seyon script language:
  813.  
  814.        capture on|off (currently may not work)
  815.           The  command  capture  on    will enable capture. All
  816.           characters received during waitfor processing  will
  817.           be  appended  to the capture file. The command cap-
  818.           ture off will close the capture file.  This setting
  819.           does  not    currently  extend to terminal mode. This
  820.           may be offered in a later release.
  821.  
  822.        debug on|off
  823.           If the argument is on, all subsequent command lines
  824.           processed    will  be  displayed on the local screen.
  825.           The exception to this is lines containing a  trans-
  826.           mit  command.  These  lines  will just print TRANS-
  827.           MIT..., so that passwords, etc. can  be  protected.
  828.           If  the  argument is off, scripts will execute qui-
  829.           etly (this is the default setting).
  830.  
  831.        dial <number>
  832.           Dial the specified number.  Seyon supports  generic
  833.           "Hayes"  compatible  modems for dialing.    Note that
  834.           this command requires an actual phone  number.  The
  835.           phonebook is not used for this function.
  836.  
  837.        echo <string>
  838.           Echos  the  given    string to the terminal. Does not
  839.           send it to the modem (use transmit  for  that).  If
  840.           the string contains spaces, it must be quoted. Note
  841.           that unlike the shell command  of    the  same  name,
  842.           this  command  does  not    accepts the switch -n but
  843.           always appends newline to the string.
  844.  
  845.        exit   Terminates the script file  prior    to  the  end  of
  846.           file. Returns to terminal mode.
  847.  
  848.        flush  Flushes  the  modem,  i.e. discards data written to
  849.           the modem but not transmitted and data received but
  850.           not read.
  851.  
  852.        goto <label>
  853.           Goes  to the specified label in the script file and
  854.           continues execution from that point. The label  may
  855.           either precede or follow the actual goto statement.
  856.           A label is any command word whose last character is
  857.  
  858.                                    16
  859.  
  860.           a colon (:).
  861.  
  862.        hanup  Hangups up the line and disconnects from the remote
  863.           host.
  864.  
  865.        if, else, endif
  866.           Syntax:
  867.           if <condition>
  868.               <statements>
  869.           [else
  870.               <statements>]
  871.           endif
  872.  
  873.           Conditionally executes statements based  on  speci-
  874.           fied condition. Seyon supports the following condi-
  875.           tions:
  876.  
  877.           waitfor: true if the last waitfor command was  suc-
  878.           cessful.
  879.           linked:  true  if this script was executed from the
  880.           dialing directory.
  881.  
  882.           Conditions may be negated using the prefix  not  or
  883.           the character !:
  884.  
  885.           !waitfor:    true  If  the last waitfor command timed
  886.           out.
  887.           not waitfor: same as !waitfor above
  888.  
  889.           The else and endif keywords must    appear    on  their
  890.           own lines. If statements may not be nested.
  891.  
  892.        pause <time>
  893.           Suspends    execution of the script for the specified
  894.           number of seconds.  This is usually used for timing
  895.           considerations;  for  example,  waiting a couple of
  896.           seconds after receiving  the  connect  message  and
  897.           typing ^C to CompuServe.
  898.  
  899.        purge  Reads  and  discards all data coming from the modem
  900.           for the duration of one second.
  901.  
  902.        quit   Terminates the script and exits the  whole  program
  903.           (returns to the shell).
  904.  
  905.                                    17
  906.  
  907.        redial Redials  the last number dialed using the dial com-
  908.           mand.
  909.  
  910.        send_break
  911.           Sends a BREAK signal to te remote host.
  912.  
  913.        set <parameter> <value>
  914.           Sets the specified parameter to  the  given  value.
  915.           Can  be  used  to    set  the  various communications
  916.           parameters for each host. The follwoing is  a  list
  917.           of the set keywords that Seyon recognizes. Keywords
  918.           marked with an asterisk set the  current    parameter
  919.           only, not the default one. Refer to the corresponig
  920.           resource (in parentheses below) for details of  the
  921.           function of each keyword.
  922.  
  923.           baud* (defaultBPS)
  924.           bits* (defaultBits)
  925.           parity* (defaultParity)
  926.           stopBits* (defaultStopBits)
  927.           stripHighBit (stripHighBit)
  928.           newlineTranslation (newlineTranslation)
  929.           del (backspaceTranslation)
  930.           meta_tr (metaKeyTranslation)
  931.           xoff (xonxoffFlowControl)
  932.           rtscts (rtsctsFlowControl)
  933.           autozm (zmodemAutoDownload)
  934.           idleGuard (idleGuard)
  935.  
  936.           Boolean  keywords    accept    on or off as their argu-
  937.           ment, other keywords accept the same  arguments  as
  938.           the corresponding resources.
  939.  
  940.        shell <shell-command>
  941.           Executes    the  given  shell  command via the user's
  942.           shell pointed to by the SHELL environment variable,
  943.           or /bin/sh if the environment variable SHELL is not
  944.           set. Note that the command must  be  quoted  if  it
  945.           consists    of  more than one word. If the first non-
  946.           space letter of the command is the  character  '$',
  947.           then  standard  input  and  standard output will be
  948.           redirected to to the modem.  This    command  can  be
  949.           used  to    execute    any external program from withen
  950.           Seyon. Example: shell "cd /usr/dl; rz -vv".
  951.  
  952.        transmit <text>
  953.           Transmits the specified text to  the  remote  host.
  954.           The text argument should be quoted (using single or
  955.  
  956.                                    18
  957.  
  958.           double quotes) if there are spaces to be    transmit-
  959.           ted. The text is transmitted as is (no case conver-
  960.           sions are performed).
  961.  
  962.           Prefix characters:
  963.  
  964.           ^ is the Control character prefix: the next charac-
  965.           ter  is made into a control character. For example,
  966.           ^M is carriage return  (0x0D)  and  ^J  is  newline
  967.           (0x0A).
  968.           \    is quote prefix: the next character is transmit-
  969.           ted verbatim. For example, \^ would transmit a lit-
  970.           eral ^.
  971.  
  972.        tty on|off
  973.           This  command  specifies    whether or not characters
  974.           received from the modem will be  displayed  on  the
  975.           local  terminal.    Since    the  only  time    that the
  976.           script processor looks at the receive queue is dur-
  977.           ing waitfor processing, the displays may look a bit
  978.           erratic.    Use the tty off command to disable  local
  979.           display  of  received characters during script pro-
  980.           cessing.
  981.  
  982.        waitfor <text> [timeout]
  983.           Waits for the specified text  to    appear    from  the
  984.           modem.  The  text    argument should be quoted (using
  985.           single or double quotes) if there are spaces to  be
  986.           transmitted.
  987.  
  988.           Special  characters are interpreted the same as for
  989.           transmit.    If the timeout    argument  is  specified,
  990.           Seyon  will  wait    that  number  of seconds for the
  991.           string to appear.    If no timeout    is  given,  Seyon
  992.           defaults to 30 seconds.
  993.  
  994.           During  waitfor processing, characters received (up
  995.           to and including the last character  found  in  the
  996.           text  or    in the timeout) can be captured to a disk
  997.           file (if capture on is specified), and/or displayed
  998.           to the screen (if tty on is specified).
  999.  
  1000.        when [<string-to-expect> <string-to-send>]
  1001.           Sends string-to-send whenever it encounters string-
  1002.           to-expect while waiting in a waitfor command, what-
  1003.           ever   the  number  if  times  string-to-expect  is
  1004.           encountered.
  1005.  
  1006.           This is is useful if the order of prompts    expected
  1007.           is  not  known  before  hand. For example, some BBS
  1008.           systems  (notably    PCBoard)  change   the    prompts
  1009.  
  1010.                                    19
  1011.  
  1012.           depeding on the time of call, and a complete script
  1013.           for such boards cannot  be  written  using  waitfor
  1014.           only.
  1015.  
  1016.           As  many    number of when commands as desired can be
  1017.           specified. A when command with no arguments  clears
  1018.           all  outstanding    when  commands.    waitfor commands
  1019.           take precedence over when commands if  they  expect
  1020.           the same string.
  1021.  
  1022.           A typical use of this command would be:
  1023.  
  1024.               when "Continue?"    "y^M"
  1025.               when "More?"       "n^M"
  1026.               waitfor "BBS Command?"
  1027.               when
  1028.  
  1029.           The  above script keeps sending "y^M" to every Con-
  1030.           tinue?" prompt and "n^M" to  every  "More?"  prompt
  1031.           until the the string "BBS Command?" is encountered.
  1032.           The lasy when clears all outstanding when commands.
  1033.  
  1034. FILES
  1035.        The default Seyon files are startup, phonelist, and proto-
  1036.        cols.  These have to be in the current directory,  Seyon's
  1037.        default    directory  (~/.seyon),    or the user's home direc-
  1038.        tory. The default  script  directory  is    Seyon's  default
  1039.        directory. All of these files and directories can be over-
  1040.        ridden by  setting  the    appropriate  resources.    See  the
  1041.        description  of those resources as well as the description
  1042.        of the files above.
  1043.  
  1044. SEE ALSO
  1045.        xterm(1), resize(1)
  1046.  
  1047. COPYRIGHT
  1048.        Seyon is Copyright (c) 1992-1993 of  Muhammad  M.  Saggaf.
  1049.        Seyon  is  not public domain. Permission is granted to use
  1050.        and distribute Seyon freely for any use and to sell it  at
  1051.        any  price  without  reference to the copyright owner pro-
  1052.        vided that in all above cases Seyon is intact and  is  not
  1053.        made  part  of  any program either in whole or in part and
  1054.        that this copyright notice is included with Seyon. Permis-
  1055.        sion  is    also granted to modify the source as long as the
  1056.        modified source is not distributed.
  1057.  
  1058. BUGS
  1059.        The script command 'set port' is    not  supported    in  this
  1060.        release.    If  the  action DialEntries is not the last in a
  1061.        compound action stack, actions specified by  the    resource
  1062.  
  1063.                                    20
  1064.  
  1065.        postConnectAction may not work properly.
  1066.  
  1067.        If  Seyon  is  hung,  it    can  be  made to exit cleanly by
  1068.        killing its main    process  by  signal  15  (SIGTERM)  from
  1069.        another    shell.    Seyon's    main process is the one that has
  1070.        the lowest PID (Process ID) number.  For    example,  if  ps
  1071.        shows:
  1072.  
  1073.         1100 p0 S     0:04 seyon -noemulator
  1074.         1101 p0 S     0:00 seyon -noemulator
  1075.         1102 p0 S     0:38 seyon -noemulator
  1076.  
  1077.        Then  ``kill -15 1100'' or ``kill 1100'' would cause Seyon
  1078.        clean up and exit gracefully.
  1079.  
  1080. AUTHOR
  1081.        Muhammad M. Saggaf, alsaggaf@mit.edu. Snail Mail: Muhammad
  1082.        Saggaf, Box 9863, Dhahran 31311, SAUDI ARABIA. I apologize
  1083.        that I may not be able to respond to all correspondence    I
  1084.        receive.
  1085.  
  1086.        xcomm 2.2 was written by Eric Coe and Larry Gensch.
  1087.  
  1088. ACKNOWLEDGEMENT
  1089.        David  Boyce for helpuful suggestions, the Imake file, and
  1090.        patches for clean build under gcc -Wall; Joaquim Jorge for
  1091.        the  lex/yacc parsing routines contributed by him; and the
  1092.        many people who sent me    patches    for  various  platforms:
  1093.        Fred  Appleman  (SVR4),    atae@spva.dnet.nasa.gov (Ultrix),
  1094.        Alain Hebert (SVR3.2),  Peter  Davies  (Sun  Sparc),  Eric
  1095.        Schmidt    (Apollo),  David  Sanderson (AIX), Jonathan Bayer
  1096.        (Sun), Jeff Johnson (SVR4), Glenn Geers (SVR4-Esix),  Tony
  1097.        Vincent-Sun-Vienna  (Solaris),  Bob  Smith  (SunOS 3.x and
  1098.        sgtty interface). (pardon me if I forgot to mention  you).
  1099.        I'm  also thankful to all the nice people who sent me sug-
  1100.        gestions or bug reports.
  1101.  
  1102.        The MultiList widget used  in  the  dialing  directory  is
  1103.        written    by the Free Widget Foundation. You can get it and
  1104.        other FWF widgets by ftp from a.cs.uiuc.edu.
  1105.  
  1106.                                    21
  1107.  
  1108. =======================================
  1109.  
  1110.    Seyon Copyright (c) 1992-1993 Muhammad M. Saggaf. Seyon has its
  1111.    roots in xcomm 2.2.
  1112.  
  1113. =======================================
  1114.  
  1115. Help: Gives you this help.
  1116.  
  1117. Set: Sets the program parameters. Parameters can also be set in the
  1118.     startup file, in the directory file, and in a script file.
  1119.  
  1120. Dial: Takes you to the dialing directory. Double click on an item to
  1121.     choose it. Clicking once highlights the item(s). Once the dialer
  1122.     takes over, you can interrupt the dialing or script execution at
  1123.     any time by pressing 'Cancel'.
  1124.  
  1125. Transfer: Takes you to the transfer console. You can double-click on
  1126.     item to choose it and you will be promted for a file name if the
  1127.     protocols needs one. Refer to the FAQ for a description of the
  1128.     format of the protocols file.
  1129.  
  1130. Shell: Accepts a command for to be passed to the shell. If the command
  1131.     starts with '$', stdio will be redirected to the modem. You can
  1132.     use this to do file transfer as well.
  1133.  
  1134. Misc: Takes to some miscelaneous utilities, you can send a break by
  1135.     choosing 'Break' under this button. You can also refresh
  1136.     (restart) the terminal process by choosing 'Refresh' from here
  1137.     this will not restart the terminal window, just the process).
  1138.  
  1139. Hangup: Hangs up the modem.
  1140.  
  1141. Exit: Exits Seyon.
  1142.  
  1143. =======================================
  1144.  
  1145.    The name of the Seyon directory is '~/.seyon'. The startup file is
  1146.    'startup'. That of the dialing directory is 'phonelist' and that of
  1147.    the protocols file is 'protocols'.  These have to be in the
  1148.    current, Seyon, or home directoy. Three examples (startup,
  1149.    phonelist, and protocols) are included.
  1150.  
  1151. =======================================
  1152.  
  1153.    Send success stories and bug reports to alsaggaf@mit.edu. If you
  1154.    like Seyon, send me email to that effect. This will give me the
  1155.    incentive to continue maintaining it.
  1156.  
  1157. -----------------------------------------------------------------------------
  1158.  
  1159.            F R E Q U E N T LY   A X E D   Q U E S T I O N S
  1160.  
  1161. -----------------------------------------------------------------------------
  1162.  
  1163.     Thanks to Johann Miranda for his help in maintainig this FAQ.
  1164.  
  1165. -----------------------------------------------------------------------------
  1166.  
  1167.     Warning: Some of the things below are terribly outdated. Tha
  1168.     manual page, though, is always up-to-date.
  1169.  
  1170. -----------------------------------------------------------------------------
  1171.  
  1172. Q: How can I obtain Seyon?
  1173.  
  1174. A: Well, the best way is to ftp to one of the following sites:
  1175.  
  1176.          sipb.mit.edu:/pub/seyon
  1177.          export.lcs.mit.edu:/contrib
  1178.          nic.funet.fi
  1179.          sunsite.unc.edu
  1180.  
  1181.    The *newes* version of Seyon can be found at sipb.mit.edu. Beta
  1182.    versions can found at: 
  1183.  
  1184.          sipb.mit.edu:/pub/seyon/new-beta
  1185.  
  1186.    and context diffs against previous versions at:
  1187.  
  1188.          sipb.mit.edu:/pub/seyon/new-beta/DIFFS
  1189.  
  1190.    You may have to hunt around in other sites to find the most recent
  1191.    release.
  1192.  
  1193. -----------------------------------------------------------------------------
  1194.  
  1195. Q: How do I build and install Seyon?
  1196.  
  1197. A: Seyon comes with a file called 1-INSTALL, which basically tells you
  1198.    what you need to do to install it. You should also create a
  1199.    directory with the name ".seyon" in your home directory. Copy the
  1200.    files ``startup'', ``phonelist'' and ``startup'' to this directory
  1201.    (the make file will probably do that automatically for you) and
  1202.    edit them to your heart's content; or better yet, run Seyon and
  1203.    modify these these files from the command center. Once you have
  1204.    installed Seyon, you may wish to browse through the man page, it is
  1205.    complete and up-to-date.
  1206.  
  1207. -----------------------------------------------------------------------------
  1208.  
  1209. Q: How do I use Seyon?
  1210.  
  1211.    This is easy. After installation, just type "seyon -modems
  1212.    <modem-device> &" to invoke Seyon. From the command center you can
  1213.    set up your modem parameters, line parameters, scripts, phone
  1214.    numbers, transfer protocols, to wit anything you are likely to
  1215.    need.  Afterwards, customaize Seyon to your needs by putting the
  1216.    appropriate resources in your ~/.Xresources or ~/.Xdefaults file
  1217.    (at least to avoid typing the -modems switch every time).
  1218.  
  1219. -----------------------------------------------------------------------------
  1220.  
  1221. Q: Where can I send bug reports and suggestions? Where can I get more
  1222.    information about the development and use of Seyon? Where can I
  1223.    participate in general discussions about Seyon? Where can I get the
  1224.    most up-to-date announcements about official and test releases?
  1225.  
  1226. A: Join the Seyon mailing list. Send a message to
  1227.  
  1228.             linux-activists-request@joker.hut.fi
  1229.  
  1230.    with the following as one of the headers:
  1231.  
  1232.             X-Mn-Admin: join Seyon
  1233.  
  1234.    That should do it. To get more information about how to use the
  1235.    mailing list and send to it, send a message to the above address
  1236.    with the single word ``help'' as the subject and the body of the
  1237.    message.
  1238.  
  1239. -----------------------------------------------------------------------------
  1240.  
  1241. Q: Yesterday I compiled Seyon 2.12, however when I tried to run it,
  1242.    it gave me "Dial Arborted: Online". So I hangup first, the message
  1243.    now is "Line disconnected", then I dialed again, still "online".
  1244.    I quit and run kermit immediately and it works fine. This 'Online'
  1245.    problem happens even I hard-boot my system and run seyon at once.
  1246.    Has anybody have the same experience ? Any help will be appreciated.
  1247.  
  1248. A: Seyon is smarter that kermit (well, at least it tries to). Before
  1249.    dialing a number, Seyon first checks to see if the modem is already
  1250.    on-line. It does so by querying the status of the DCD flag (Data
  1251.    Carrier Detect). If DCD is asserted, Seyon concludes that the modem is
  1252.    on-line and refuses to dial the number.
  1253.  
  1254.    Two resources govern this behavior. The first is hangupBeforeDial. If
  1255.    this resource is enabled (set to ``on'') and DCD is asserted, Seyon
  1256.    hangs up the line before dialing. The second is ignoreModemDCD. If
  1257.    this resource is enabled, Seyon ignores the status of DCD and 1)
  1258.    always hangs up befoe dialing if hangupBeforeDial is enabled, and 2)
  1259.    proceeds to dial even if DCD is asserted.
  1260.  
  1261.    In your case I think that your modem is asserting DCD all the time,
  1262.    even if the modem is off-line. When dialing, Seyon finds that DCD is
  1263.    asserted and hangs up. However, after hanging up, it finds that DCD is
  1264.    still asserted, and since the default for ignoreModemDCD is ``off'',
  1265.    it refuses to dial.
  1266.  
  1267.    To fix that, you have two options. The first is to tell your modem not
  1268.    to assert DCD all the time. The command for that in my modem is
  1269.    ``AT&C1'' (AT&C0 does the opposite), but might be different in yours.
  1270.    If you don't wish to do that, set the resource ignoreModemDCD to
  1271.    ``on''. This way Seyon will ignore DCD and behave just like kermit. To
  1272.    set the resource, put the line:
  1273.  
  1274.              Seyon.ignoreModemDCD: on
  1275.  
  1276.    in your ~/.Xresource file.
  1277.  
  1278.    The on-line clock at the top left corner of Seyon's command center
  1279.    will tell you whether DCD is asserted (clock running, button light or
  1280.    depressed) or not (clock not running, button dark or raised). The
  1281.    manual has more details and explanations of the above resources.
  1282.  
  1283. -----------------------------------------------------------------------------
  1284.  
  1285. Q: I get the messages
  1286.  
  1287. >> Warning: could not execute 'seyon-emu'.
  1288. >> Warning: falling to 'xterm'.
  1289.  
  1290.    when I start Seyon.
  1291.  
  1292. A: When Seyon s invoked. It looks first for seyon-emu and uses it as
  1293.    the terminal emulator. seyon-emu has to be a link to you favorite
  1294.    terminal emulation program (xterm, color xterm, xvt, mterm, Emu,
  1295.    cmdtool, ..etc). This allows for more flexibility in choosing the
  1296.    terminal emulator. If Seyon doesn't find seyon-emu, it just uses
  1297.    xterm as the terminal emulator. This warning is harmless. To get
  1298.    rid of it, make seyon-emu a link to xterm.
  1299.  
  1300. Q: How do I use the meta (ALT) key with Seyon?
  1301.  
  1302. A: If the remote host supports 8-bit-clean communications, you should
  1303.    be able to use it automatically (most hosts don't).  Otherwise, you
  1304.    can make Seyon send ESC before a character when the meta key is
  1305.    pressed with that character.  You can do that in two ways:
  1306.  
  1307.    1) Set Meta->ESC translation to ``on'' using one of the following:
  1308.       a) the resource metaKeyTranslation 
  1309.       b) from the ``Set'' console
  1310.       c) in a script: ``set meta_tr on''
  1311.  
  1312.    2) if you're using xterm as Seyon's terminal emulator, use
  1313.  
  1314.       Seyon.vt100.eightBitInput: off
  1315.  
  1316. -----------------------------------------------------------------------------
  1317.  
  1318. Q: When I dial, the modem says CONNECT and I get a Connection Complete
  1319.    message. To wake the remote host up, I first hit Enter a few times.
  1320.    But the host soon hangs up, apparently seeing a dead line. What's
  1321.    wrong?
  1322.  
  1323. A: Try setting <nl mode> in the Set console. The Seyon default is to
  1324.    send a \n when you press Enter. Many hosts expect a \r; you get
  1325.    that when <nl mode> is selected.
  1326.  
  1327.    (contributed by Sakari Aaltonen, <sakaria@vipunen.hut.fi>)
  1328.  
  1329.    NOTE: starting from version 1.5, the defaults is to enable NL->CR
  1330.    translation.
  1331.  
  1332. =======================================
  1333.  
  1334. Q: In the 'Set' console, which color means that the parameter is
  1335.    active?
  1336.  
  1337. A: Black means active, otherwise inactive.
  1338.  
  1339. =======================================
  1340.  
  1341. Q: How do I send an initialization string to my modem.
  1342.  
  1343. A: put the command
  1344.  
  1345.        transmit "AT(whatever)^M"
  1346.  
  1347.    in Seyon's startup file. Most modern modems do not need an
  1348.    initialization string though, since they store their setup in
  1349.    non-volitile memory.
  1350.  
  1351. =======================================
  1352.  
  1353. Q: How do I tell the remote host about the size of my terminal window?
  1354.    I want the applications to take advantage of the lerger size.
  1355.  
  1356. A: If the remote host is a Unix machine (or any other machine that
  1357.    supports X-windows), issue the command 'resize' (if that doesn't
  1358.    help, try 'eval `resize`'. If the remote host is a BBS, set the
  1359.    page length by the appropriate command (e.g. 'p' on a BBS running
  1360.    PCBoard).
  1361.  
  1362. =======================================
  1363.  
  1364. Q: What's this Xdefaults file you keep talking about?
  1365.  
  1366. A: It is usually named ~/.Xresources. If that doesn't exist. the
  1367.    Xserver uses the file ~/.Xdefaults. Do 'man X' to learn how to
  1368.    customize the resources in this file.
  1369.  
  1370. =======================================
  1371.  
  1372. Q: When I use 'Edit' to edit the phonelist or protocols files, the
  1373.    dialing directory and the transfer console do not reflect the
  1374.    changes I made, what's wrong?
  1375.  
  1376. A: You have to use 'Reread' to update the the dialing directory and
  1377.    the transfer console.
  1378.  
  1379. =======================================
  1380.  
  1381. Q: How do I make sz/rz work?
  1382.  
  1383. A: The following is from the readme file included with minicom. I used
  1384.    it, and it has always worked for me:
  1385.  
  1386.    If you are using a new version if Chuch Forsenberg's zmodem, it is
  1387.    possible that it will not run OK in a window. This is because the
  1388.    new versions *don't* use stdin and stdout, but without mercy they
  1389.    just open /dev/tty. Ai! I changed the following in the file
  1390.    "rbsb.c" and now things work allright. You might want to change
  1391.    this also.  Here is the particular function I'm talking about:
  1392.  
  1393. ---------------------------------------
  1394. /* Line 336 */
  1395. /* Initialize tty device for serial 
  1396.    file xfer */
  1397. inittty()
  1398. {
  1399. #ifndef HVM
  1400.     Tty = open("/dev/tty", 2);
  1401.     if (Tty < 0) {
  1402.        perror("/dev/tty");  exit(2);
  1403.     }
  1404. #else
  1405.     Tty = 1;
  1406. #endif
  1407.     Ttystream = fdopen(Tty, "w");
  1408.     setbuf(Ttystream, xXbuf);        
  1409. }
  1410. ---------------------------------------
  1411.  
  1412.    And to get the Logging output to the
  1413.    screen instead of to /tmp/szlog,
  1414.    change the following in sz.c :
  1415.  
  1416. ---------------------------------------
  1417. if (npats < 1 && !Command && !Test) 
  1418.     usage();
  1419. if (Verbose) {
  1420. /* Line 403 of sz.c */
  1421. #ifndef HVM
  1422.     if (freopen(LOGFILE, "a", stderr)==NULL) {
  1423.         printf("Can't open log file %s\n",LOGFILE);
  1424.         exit(2);
  1425.     }
  1426. #endif
  1427.     setbuf(stderr, NULL);
  1428. }
  1429. vfile("%s %s for %s\n", Progname, VERSION, OS);
  1430. ---------------------------------------
  1431.  
  1432.    You might want to change the same in the file "rz.c" also, around
  1433.    line 249.  It is now possible to use the -v[vv] flag with rz/sz and
  1434.    see the debugging output appear in the status window!
  1435.  
  1436.    You have to define 'HVM' to make the change effective, ofcourse!
  1437.  
  1438.    NOTE (for Seyon users): Once you have done that, use '$rz -vv' as
  1439.    your zmodem command (or '$sz -vv').
  1440.  
  1441. =======================================
  1442.  
  1443. Q: What are Seyon's configuration files? and where should they be put?
  1444.  
  1445. A: Those are 'startup', 'phonelist', and 'protocols'. Seyon looks for
  1446.    them in the current directory, then the default Seyon directory
  1447.    ('~/.seyon'), and finally in the user's home directory. The names
  1448.    of these files as well as that of the default directory can be
  1449.    overridden by setting the appropriate resources. Refer to that in
  1450.    another answer somewhere in this file.
  1451.  
  1452. =======================================
  1453.  
  1454. Q: Can I put the scripts somewhere else other than in my home
  1455.    directory?
  1456.  
  1457. A: Yes, use the resource 
  1458.  
  1459.         Seyon.scriptDirectory:
  1460.  
  1461.    (default is defaultDirectory). Seyon will look for scripts in the
  1462.    current directory, then in the script directory, and finally in the
  1463.    user's home directory.
  1464.  
  1465. =======================================
  1466.  
  1467. Q: I'd like to start a local shell but I don't want to start another
  1468.    xterm, can I have a shell in the Seyon's terminal emulation window?
  1469.  
  1470. A: Yes, click the 'Shell' button and instead of giving it a usual
  1471.    shell command, use the name of your shell (i.e. tcsh, sh, ..etc).
  1472.    This will start the shell of your choice in the terminal window.
  1473.  
  1474. =======================================
  1475.  
  1476. Q: Do I have to specify the BITS and BPS fileds for each entry in the
  1477.    phonelist directory?
  1478.  
  1479. A: No. Seyon will use the default BPS rate and bit mask if none is
  1480.    specified in the phonelist entry.
  1481.  
  1482. =======================================
  1483.  
  1484. Q: Can I specify an alternate location and name for the help file?
  1485.  
  1486. A: You can, but it's highly discouraged unless you have no write
  1487.    permission to the default location (determined automatically at
  1488.    compile-time). Use the resource
  1489.  
  1490.             Seyon.helpFile:
  1491.  
  1492.    You have to specify the complete file path and name.
  1493.  
  1494. =======================================
  1495.  
  1496. Q: Seyon comes up tiny and with overlapping buttons, what's wrong?
  1497.  
  1498. A: The app-defaults file must be installed properly or Seyon will not
  1499.    function properly. Use 'make install' to install the app-defaults
  1500.    file in the proper place and make sure it is installed properly and
  1501.    is not corrupt.
  1502.  
  1503. =======================================
  1504.  
  1505. Q: I get 'killed by siganl 11' when I start seyon.
  1506.  
  1507. A: You must be using old versions of libraraies. Test that by using
  1508.  
  1509.             ldd seyon-cmd
  1510.  
  1511.    This will tell you what libraries you have linked Seyon with. If
  1512.    you get anything other than
  1513.  
  1514.       /lib/XawVen.so.2.1 (Classic 2.1)
  1515.       /lib/libX11.so.2.1 (Classic 2.1)
  1516.       /lib/libc.so.4 (Jump table 4.1)
  1517.  
  1518.    it's time to upgrade to newer libraries.
  1519.  
  1520.    (This question is for linux only, for platforms it may be a bug.
  1521.    Report it.)
  1522.  
  1523. =======================================
  1524.  
  1525. Q: How does the dialer work?
  1526.  
  1527. A: Click on an item to toggles it. Once you have selected all the
  1528.    items you want, click on 'Go'. The dialer will dial each number
  1529.    until a connection is made. once a connection is made, that item is
  1530.    unselected automatically. Double-clicking on an item will select
  1531.    that item, unselect all others, and dial that item. You can
  1532.    interrupt the dialing or the script execution at any time by
  1533.    chossing 'Cancel'. 'Can. & hangup' will additionally hangup the
  1534.    line.
  1535.  
  1536. -----------------------------------------------------------------------------
  1537.  
  1538. Q: How do I use pulse dialing?
  1539.  
  1540. A: Use the resources. Set
  1541.  
  1542.        Seyon.dialPrefix: ATDP
  1543.  
  1544.    There is also a simialr resource: dialSuffix.
  1545.  
  1546. -----------------------------------------------------------------------------
  1547.  
  1548. Q: How can I setup the ZMODEM autodownload feature or disable it?
  1549.  
  1550. THIS ANSWER IS WRONG, READ THE MANUAL
  1551.  
  1552. A: Via the resources. The resource
  1553.  
  1554.      Seyon.zmodemAutoDownload: off
  1555.  
  1556.    will disable it (default is 'on'). The resource
  1557.  
  1558.    Seyon.zmodemAutoDownloadCommand: $cd /usr/dl; rz -vv
  1559.  
  1560.    tells Seyon what command to use to for ZMODEM (default is 'rz').
  1561.    The format of the command is the same as that of the shell and
  1562.    transfer commands.
  1563.  
  1564. -----------------------------------------------------------------------------
  1565.  
  1566. Q: Does Seyon support the V32 protocol?
  1567.  
  1568. A: V32 is not a software protocol, it is used at the hardware level by
  1569.    the modem to communicate with modems at the remote end. Hence, it
  1570.    is transparent to comm programs, and they have nothing to do with
  1571.    it.
  1572.  
  1573.    This is along the lines of "your modem will talk to my modem at the
  1574.    best speed and level they can. How yor modem talks to your computer
  1575.    is your business" (See above)
  1576.  
  1577. -----------------------------------------------------------------------------
  1578.  
  1579. Q: How do I turn off the 'fun' messages or make them less frequent?
  1580.  
  1581. A: The resource
  1582.  
  1583.            Seyon.showFunMessages: off
  1584.  
  1585.    will turn them off (default is 'on'). The resource
  1586.  
  1587.         Seyon.funMessagesInterval: 30
  1588.  
  1589.    specifies that the messages should appear every 15 seconds (unless
  1590.    Seyon has something more important to say, like a real message).
  1591.    Default interval is 1 minute.
  1592.  
  1593. =======================================
  1594.  
  1595. Q: How can tell seyon what port to use?
  1596.  
  1597. A: There are two ways to do that:
  1598.  
  1599.    1) Specify it in your Xdefaults file, something like:
  1600.              
  1601.              Seyon.modems: /dev/ttys0
  1602.  
  1603.    2) Invoke Seyon by the the switch -modems, e.g.
  1604.              
  1605.              seyon -modems /dev/ttys0
  1606.  
  1607. =======================================
  1608.  
  1609. Q: How can I control the bahavior of the terminal emulation winow?
  1610.  
  1611. A: You can do that via the resources of the vt100 widget of xterm. he
  1612.    following is an example of what you can put in your Xdefaults file:
  1613.  
  1614.      Seyon.vt100.foreground: black
  1615.      Seyon.vt100.background: white
  1616.      Seyon.vt100.geometry: 80x25+50+250
  1617.      Seyon.vt100.saveLines: 100
  1618.                         .            
  1619.                         .
  1620.                         .
  1621.  
  1622.    Refer to the xterm manual page for the full set of the resources.
  1623.  
  1624. =======================================
  1625.  
  1626. Q: The resourecs I put in my Xdefaults file do not seem to work, why?
  1627.  
  1628. A: You have to use xrdb to load the resourecs or restart your X
  1629.    server.  Also, you have to use the class name 'Seyon' and not the
  1630.    instance 'seyon' in your Xdefaults file.
  1631.  
  1632. =======================================
  1633.  
  1634. Q: How shoud the protocols file be formatted?
  1635.  
  1636. A: Here is an example:
  1637.  
  1638.     regu_zm_dl  "$ cd /dl; rz -vv" n
  1639.     "reg zm ul" "$sz -vv"          y
  1640.     graphic_zm_dl grz              No
  1641.     xrz3D       $cd /dl; xrz"      NO
  1642.  
  1643.    The first field is the title of the protocol. You can anything in
  1644.    there for your refrence as long as it is either one word or quoted.
  1645.  
  1646.    The second field is the actual command that will be executed.
  1647.    Again,if the command is more than one word, it has to be quoted.
  1648.    Notice how 'cd' is used to have one or more download or upload
  1649.    directories. If the command begins with '$', the standard input and
  1650.    standard outpt will be redirected to the modem.
  1651.  
  1652.    The last field tells Seyon whether it should prompt for a file name
  1653.    or not. this field can be either a yes or a no. Normally, you would
  1654.    put yes for an upload and no otherwise.
  1655.  
  1656. =======================================
  1657.  
  1658. Q: How can tell Seyon about the non-standard responses of my modem?
  1659.  
  1660. A: Use the following resources:
  1661.  
  1662.        Seyon.connectString
  1663.        Seyon.noConnectString1
  1664.        Seyon.noConnectString2
  1665.        Seyon.noConnectString3
  1666.        Seyon.noConnectString4
  1667.  
  1668.    Refer to what the defaults are for these resources in another
  1669.    answer in this file.
  1670.        
  1671. =======================================
  1672.  
  1673. Q: When I choose an item in the dialing direcory or from the transfer
  1674.    protocols directory it get highlighted but nothing happens, why?
  1675.  
  1676. A: Clicking once on an item only highlightes it. You have to
  1677.    double-click on it to choose it. You can highlight multiple items
  1678.    in the dialing directory and then click 'Go' to dial them
  1679.    (circulate) until a connection is made.
  1680.  
  1681. =======================================
  1682.  
  1683. Q: How can I control the dialer behavior?
  1684.  
  1685. A: Via the following resources:
  1686.  
  1687.        Seyon.dialTimeOut
  1688.        Seyon.dialDelay
  1689.        Seyon.dialRepeat
  1690.  
  1691.    Dial timeout is the time given for each try (default is 45
  1692.    seconds), dial delay is the time between tries (default is 10
  1693.    seconds), and dial repeat is the number of tries Seyon attempts
  1694.    before up (default is 5 seconss).
  1695.  
  1696. =======================================
  1697.  
  1698. Q: How can disable the confirmation popups for hangup and exit?
  1699.  
  1700. A: Via the resources hangupConfirm and exitConfirm. Put the following
  1701.    in your Xdefaults file:
  1702.  
  1703.            Seyon.hangupConfirm: off
  1704.            Seyon.exitConfirm: off
  1705.  
  1706. =======================================
  1707.  
  1708. Q: What do I do if the terminal is stuck?
  1709.  
  1710. A: Choose 'Refresh' under the 'Misc' button. This will restart the
  1711.    terminal process (not the terminal window).
  1712.  
  1713. =======================================
  1714.  
  1715. Q: How can I use hardware flow control (RTS/CTS)?
  1716.  
  1717. A: Use the rtscts mode. It is enabled by default. You disable it in
  1718.    the startup file, in a script, or interactively from the 'Set'
  1719.    console.
  1720.  
  1721. =======================================
  1722.  
  1723. Q: How can I make Seyon send delete instead of backspace?
  1724.  
  1725. A: Put the line
  1726.  
  1727.        set del "on"
  1728.  
  1729.    in the startup file or in the script. or set the parameter
  1730.    interactively by the 'Set' button.
  1731.  
  1732. =======================================
  1733.  
  1734. Q: Can Seyon do ANSI color that most BBS systems use?
  1735.  
  1736. A: Yes, but yu have to get color xterm.  Patches for that are on
  1737.    export.lcs.mit.edu.
  1738.  
  1739. =======================================
  1740.  
  1741. Q: Where can I get the latest copy of Seyon?
  1742.  
  1743. A: By ftp from sipb.mit.edu at the directory /pub/seyon.
  1744.  
  1745. =======================================
  1746.  
  1747. Q: How can I help?
  1748.  
  1749. A: 1) Send your impression of he program after each upgrade.
  1750.    2) Send suggestions for improvement (even the little details).
  1751.    3) Send any pretty color customization you do.
  1752.    4) If you implement an extra feature, send it to be included in the
  1753.       standard release.
  1754.  
  1755. =======================================
  1756.  
  1757. Q: How can I send bug reports?
  1758.  
  1759. A: Use the form included in the file BUGS. If you don't, I cannot
  1760.    guarantee that I'm going to look into it. Sending me something like
  1761.    'the dialer doesn't work' doesn't tell anything. I have to know
  1762.    more.
  1763.  
  1764. =======================================
  1765.  
  1766. Q: How can I contact the author?
  1767.  
  1768. A: Send him (that's me!) email at alsaggaf@mit.edu
  1769.  
  1770. =======================================
  1771.  
  1772.                                    
  1773.